1. Field of the Invention
The present invention relates to motion control systems and, more particularly, to a servo control system operating in a sampled data mode.
2. Description of the Prior Art
Designers of servo motion control systems have attempted to take advantage of advances in computer technology by designing servo control systems which respond more quickly to motion command signals or which more precisely control the movement of the object under control. For example, the working members of industrial robots must be capable of quick precise movement and, therefore, high response servo control systems are highly desirable to control those members.
A computer with a large memory capability and great computational power--referred to commonly as a main frame computer--or a large minicomputer is often used to implement a control system where great computational power is required. However, main frame computers and large minicomputers have not been used to implement high response industrial servo control systems because their expense is prohibitively great.
Microprocessors are much less expensive than main frame computers or large minicomputers. Therefore, workers have designed servo control systems which are implemented by microprocessors. However, their use in digital servo control systems has created several other problems. In particular, the calculation speed of a microprocessor is not relatively high and, therefore, the response time of a control system using a microprocessor cannot be as high as is desirable. Further, a microprocessor performs calculations in integer fashion, which causes errors when the results of the calculations are rounded. Therefore, the system cannot control the motion of the controlled object with sufficient accuracy.
Many conventional servo systems use a microprocessor only to process motion commands. The servo loop is controlled by either conventional analog or high speed digital techniques. Those systems do not use fully the capabilities of existing microprocessors. Accordingly, workers have designed digital servo systems which are implemented totally by microprocessors. Many of those conventional systems are of a form depicted generally in FIG. 4. To implement a system of the type shown in FIG. 4, the computer receives the motion commands and a set of signals representing the actual motion of the object under control and calculates deviations of the motion of the controlled object from the motion represented by the motion commands. Blocks A and B of FIG. 4 represent compensating gain lag/lead networks usually included in analog control systems and consist of any or a combination of gain or time dependent following processes, which affect the manner in which the control system follows the motion commands.
Two problems are encountered through use of microprocessors to implement digital servo systems, both of which result from the manner in which the microprocessor performs calculations. Because the microprocessor consumes a relatively large amount of time to perform calculations, the bandwidth of any system implemented by a microprocessor is relatively low. Further, because the microprocessor performs calculations using integer arithmetic, the results of the calculations are rounded, which causes the calculations, and thus the motion of the controlled object, to be relatively inaccurate. Any attempt to increase the accuracy of the system by performing the calculations in floating point arithmetic would further lower the bandwidth of the system, due to the increase in time necessary to perform floating point calculations.
Performance of calculations in integer arithmetic also limits the precision of the system. The cycle rate of the microprocessor is generally defined as the number of times per second that the microprocessor accepts motion command information and generates commands. The cycle rate is set at a constant rate which is a function of the maximum required bandwidth of the system, the computation time of the microprocessor and other parameters of the system. To provide a servo control system with a sufficiently wide bandwidth, a cycle rate on the order of one millisecond is required. Such a system permits only integer velocity commands in steps of only one thousand increments per second. For many systems, including systems which control robots, the system must be able to accurately produce more precise motion.
Moreover, many conventional microprocessor based positioning systems define one revolution of the controlled rotating member as a number of increments that is convenient for the microprocessor system to process, such as 1024 increments. However, the user of the system may find it inconvenient or unnecessary to use such a number of increments.
Accordingly, there exists a need for a high response inexpensive accurate and precise microprocessor implemented servo control system.